<?php
include_once('../includes/definer.php');
include_once(INC . 'php/bootstrap.php');
include_once(INC . 'php/clases/FileImage.php');

$publicidad = ($_POST['id'])?Doctrine::getTable('publicidad')->find($_POST['id']):new Publicidad();

if (isset($_POST['descripcion'])) $publicidad->descripcion = $_POST['descripcion'];
if (isset($_POST['estado'])) $publicidad->id_estado = $_POST['estado'];
if (isset($_POST['tipo'])) $publicidad->id_tipo = $_POST['tipo'];
if (isset($_POST['url'])) $publicidad->url = addhttp($_POST['url']);
if (isset($_POST['orden'])) $publicidad->orden = $_POST['orden'];
$publicidad->save();

//categiruas
Doctrine_Query::create()->delete('RelPublicidadCategoria r')->where('r.id_publicidad = ?', $publicidad->id)->execute();
if (isset($_POST['categorias'])) {
    $relacionCollection = new Doctrine_Collection('RelPublicidadCategoria');
    foreach ($_POST['categorias'] as $id) {
        $n = new RelPublicidadCategoria();
        $n->id_publicidad = $publicidad->id;
        $n->id_categoria = $id;
        $relacionCollection[] = $n;
    }
    $relacionCollection->save();
}

//publicaciones
Doctrine_Query::create()->delete('RelPublicidadPublicacion r')->where('r.id_publicidad = ?', $publicidad->id)->execute();
if (isset($_POST['publicaciones'])) {
    $relacionCollection = new Doctrine_Collection('RelPublicidadPublicacion');
    $publicaciones = json_decode(str_replace("'", '"', $_POST['publicaciones']));;
    foreach ($publicaciones->ids as $id) {
        if ($id) {
            $n = new RelPublicidadPublicacion();
            $n->id_publicidad = $publicidad->id;
            $n->id_publicacion = $id;
            $relacionCollection[] = $n;
        }
    }
    $relacionCollection->save();
}

//banner
if (isset($_FILES) && isset($_FILES['src'])) {
    $tipo = Doctrine::getTable('TipoPublicidad')->find($_POST['tipo']);
    $ext = explode('.', $_FILES['src']['name']);
    $ext = '.'.$ext[count($ext)-1];
    $ext = strtolower($ext);
    $ext = ($ext == '.jpeg')?'.jpg':$ext;
    if ($_FILES['src']['name']) {
        if ($ext == '.jpg' || $ext == '.gif' || $ext == '.png' || $ext == '.swf') {
            if ($ext == '.swf') {
                $dem = getimagesize($_FILES['src']['tmp_name']);
                if ($dem[0] != $tipo->ancho || $dem[1] != $tipo->alto) {
                    header('location: '.URL.'publicidades#error2');
                    exit();
                } else {
                    rename($_FILES['src']['tmp_name'], INC.'../content/lurocks/'.$publicidad->slug.$ext);
                }
            } else {
                $fileImage = new FileImage($_FILES['src']['tmp_name']);
                $fileImage->escalar($tipo->ancho, $tipo->alto);
                $fileImage->recortarDesdeElCentro($tipo->ancho, $tipo->alto);
                $fileImage->save(INC.'../content/lurocks/'.$publicidad->slug);
            }

            $publicidad->src = $publicidad->slug.$ext;
            $publicidad->save();
        } else {
            header('location: '.URL.'publicidades#error1');
            exit();
        }
    }
}

if (isset($_POST['redirect'])) {
    $accion = ($_POST['id'])?'#edit':'#new';
    header('location: '.URL.'publicidades'.$accion);
}

function addhttp($url) {
    if (!preg_match("#^https?://#i", $url)) {
        $url = "http://" . $url;
    }
    return $url;
}
?>
